package com.mjf.scala.chapter08

/**
 * 偏函数使用
 */
object Scala06_TestMatch {
  def main(args: Array[String]): Unit = {

    // 需求：将该List中的Int类型的元素加一，并去掉字符串。
    val list = List(1,2,3,4,5,6,"test")

    // 先过滤掉字符串
    val newList: List[Any] = list.filter(_.isInstanceOf[Int])
    println(newList)
//    val res: List[Int] = newList.map(_.asInstanceOf[Int] + 1)
    val res: List[Int] = newList.map{case i:Int => i + 1}
    println(res)

    // 偏函数实现  PartialFunction
    val result: List[Int] = list.collect{case i:Int => i + 1}   // 没有全部匹配也不会报错
    println(result)


  }
}
